我有一个处理
请求的php文件http://example.com/somepath/?q=query
http://example.com/some/other/path/?q=query
http://example.com/another/path/?q=query
http://example.com/yet/another/path/?q=query
我喜欢处理
请求的同一个文件.htaccess
我不想将php文件复制到文件系统中的多个位置。我认为使用内部重写规则将是一种更好的方法。以下是我放在顶级/var/www/.htaccess
文件RewriteRule ^some/other/path /somepath/%{QUERY_STRING} [PT]
中的内容:
import random
computer=random.randint(1, 100)
guess=int(input("guess the number"))
if guess > 100:
print("your guess is too high")
elif guess < 1:
print("your guess is too low")
elif guess==computer:
print("well done!")
else:
print("you\'re wrong, guess again")
但它不起作用。我得到http://example.com/some/other/path/?q=query
的404我知道mod_rewrite已启用,因为我在相同的.htaccess文件中有外部重写规则(301和302重定向),并且可以正常工作。
答案 0 :(得分:1)
您可以将此规则作为您的第一条规则放置在网站根目录.htaccess中,它将处理具有?q=
查询参数的任何网址:
RewriteEngine On
RewriteCond %{QUERY_STRING} (^|&)q= [NC]
RewriteRule ^ somepath/index.php [L]