首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >htaccess:如何将example.com/任何内容重定向到example.com/seoparser.php脚本?

htaccess:如何将example.com/任何内容重定向到example.com/seoparser.php脚本?
EN

Stack Overflow用户
提问于 2011-06-23 18:26:23
回答 2查看 63关注 0票数 1

如何使用.htaccessexample.com/anything重定向到脚本example.com/seoparser.php?anything

这不起作用:

RewriteEngine on
RewriteRule (.*) http://example.com/seoparser.php?$1

因为多个重定向在地址http://example.com/seoparser.php?seoparser.php上结束

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-23 18:33:44

你必须测试它是否已经被重写:

RewriteCond %{REQUEST_URI} !^seoparser\.php$ [NC]
RewriteRule ^/?(.*)$       /seoparser.php?$1 [L]
票数 2
EN

Stack Overflow用户

发布于 2011-06-23 19:04:16

您可以检查请求的资源是否不是文件/目录,然后才能重写。例如:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) /seoparser.php?$1 [QSA,L]

根据情况(你有什么重写逻辑/需要实现),这可能是比@inti提到的更好的解决方案。你会在很多真实的应用程序(例如,WordPress,Magento)和PHP框架中看到这样的规则组合(大多数时候,它们只有内部路由逻辑)。

这是一个有点不同的方法(主要是从组织的角度来看):

RewriteEngine On
# Do not do anything for already existing files
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule .+ - [L]

# Your rewrite rules (file/folder does not exist, we may need to route it elsewhere)
RewriteRule (.*) /seoparser.php?$1 [QSA,L]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6452559

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档