我在example.com/pages/page1
和/example.com/pages/page2
使用去除URL字符串的.htaccess
形式的URL是否有.htaccess
摆脱/pages/
部分的一种简单的方法,让我的网址是:
example.com/page1
谢谢
我在example.com/pages/page1
和/example.com/pages/page2
使用去除URL字符串的.htaccess
形式的URL是否有.htaccess
摆脱/pages/
部分的一种简单的方法,让我的网址是:
example.com/page1
谢谢
如果您有能力修改DocumentRoot
,这听起来像你只需要将DocumentRoot
设置为/path/to/pages
即可。不过,如果你不能做到这一点,那么你可以在.htaccess
RewriteEngine On
RewriteRule ^/(.*)$ /pages/$1 [L,QSA]
试试这个上面是通用的,重定向一切/pages
。如果您的网页确实被称为“第一页第二页等等”,那么这是更为具体:
RewriteRule ^/page([0-9]+)$ /pages/page$1 [L,QSA]
取出[L]
,如果你有更多的重写规则来处理。 [QSA]
沿着可能存在的任何其他查询字符串参数转发。
编辑:对于用户输入example.com/pages/page1
被重定向到example.com/page1
:
RewriteEngine On
RewriteRule ^/pages/(.*)$ /$1 [L,QSA]
以上将在内部重定向,但不能更改浏览器的地址栏中。如果您想要更改地址栏,请通知用户重定向已发生,请改为使用[L,R=301,QSA]
。
我的页面名称是动态的,所以类似于'/ pages/about-us'和'/ pages/contact'。我有其他页面,比如'/ categories'和'/ users',所以我不想重定向所有的东西,只是那些匹配'/ pages/dynamic_url'的东西 – terrid25 2011-05-12 11:02:28
请等待 - 请澄清以便我了解您的目标:您是否希望最终用户在“example.com/pages/page1”中键入内部重定向到“example.com/page1”的内容,或者是否希望最终用户在'example.com/page1'中键入内部重定向,静静地输入'example.com/pages/page1'? – 2011-05-12 13:13:28
我希望输入'example.com/pages/page1'的用户被重定向到'example.com/page1'等 – terrid25 2011-05-13 12:46:06
请参阅我对答案的编辑。希望这可以帮你。 – 2011-05-13 12:54:29