有关重写URL的替代方法的任何想法?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有关重写URL的替代方法的任何想法?相关的知识,希望对你有一定的参考价值。
目前,我使用社区开源软件。一切都很好。我的问题不是什么大问题,它不是崩溃或停止我的网站的错误。这并不可怕。只是我想知道更多,因为我尝试了太多不同的方式(对于我将在下面讨论的问题),但显然我只是不够好的故障排除者。那么......让我最后解释一下它是什么。我有这样的网址:
我想这样做:
(其中“forov”与我母语中的“论坛”相同)
我希望页面的内容完全相同(镜像)。安装没什么不同。我想重写一下。我想成为某种别名,但我没有对网络服务器的权限,我只有cPanel,就是这样。
类似的解决方案在这里解释rewrite a folder name using .htaccess但显然,它不适用于我的网站。
默认CMS .htaccess文件如下所示:
Options +FollowSymLinks
RewriteEngine On
AddEncoding gzip .gz
AddEncoding gzip .gzip
<FilesMatch ".(js.gz|js.gzip)$">
ForceType text/javascript
</FilesMatch>
<FilesMatch ".(css.gz|css.gzip)$">
ForceType text/css
</FilesMatch>
RewriteCond %{REQUEST_URI} !^/index.php
RewriteCond %{REQUEST_URI} !/ow_updates/index.php
RewriteCond %{REQUEST_URI} !/ow_updates/
RewriteCond %{REQUEST_URI} !/ow_cron/run.php
RewriteCond %{REQUEST_URI} !/e500.php
RewriteCond %{REQUEST_URI} !/captcha.php
#RewriteCond %{REQUEST_URI} (/|.php|.html|.htm|.xml|.feed|robots.txt|.raw|/[^.]*)$ [NC]
RewriteCond %{REQUEST_FILENAME} (/|.php|.html|.htm|.xml|.feed|robots.txt|.raw|/[^.]*)$ [NC]
RewriteRule (.*) index.php
而且我不想在论坛插件中进行自定义修改,因为在插件更新的情况下我会丢失这些修改。如果可能,我想重写URL。
我尝试了很多变种。有任何想法吗?
答案
你可以像这样写。
RewriteRule ^forum/(.*)$ /forov/$1 [R=301,NC,L]
这就是我将其用于CMS客户端的方式。
RewriteEngine On
RewriteCond %{HTTP} off
RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteRule ^forum/(.*)$ /forov/$1 [R=301,NC,L]
还使用:
Options +FollowSymlinks
Options -Indexes
如果所有其他方法都失败了,如果它只是那个页面,你可以制作一个假的页面并使用301重定向,这基本上说这个页面是同一页面,但现在就在这里。这是将重定向用于其他地方的实际页面的正确方法,您不希望丢失页面排名并通知searchbots。
即yoursite.com/forum
<?php
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.YourWebsite.com/forov");
?>
以上是关于有关重写URL的替代方法的任何想法?的主要内容,如果未能解决你的问题,请参考以下文章