使用.htaccess从URL中删除字符串
我的URL格式为使用.htaccess从URL中删除字符串,.htaccess,.htaccess,我的URL格式为example.com/pages/page1和/example.com/pages/page2 在.htaccess中是否有一种简单的方法来摆脱/pages/部分,因此我的URL是: example.com/page1 谢谢如果您能够修改DocumentRoot,听起来您只需要将DocumentRoot设置为/path/to/pages。但是,如果您不能做到这一点,则可以在.htaccess RewriteEngine On RewriteRule ^/(.*)$ /page
example.com/pages/page1
和/example.com/pages/page2
在.htaccess
中是否有一种简单的方法来摆脱/pages/
部分,因此我的URL是:
example.com/page1
谢谢如果您能够修改
DocumentRoot
,听起来您只需要将DocumentRoot
设置为/path/to/pages
。但是,如果您不能做到这一点,则可以在.htaccess
RewriteEngine On
RewriteRule ^/(.*)$ /pages/$1 [L,QSA]
以上内容是通用的,将所有内容重定向到/页面
。如果您的页面真的被称为“page1 page2等”,那么这是更具体的:
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
的等待-请澄清,以便我理解您的目标:您希望最终用户键入example.com/pages/page1
,在内部重定向到example.com/page1
,还是希望最终用户键入example.com/page1
,在内部重定向,以静默方式转到example.com/pages/page1
?我希望键入example.com/pages/page1
的用户被重定向到example.com/page1
等,请查看对我答案的编辑。希望这对你有用。