root@technoluddites:/etc/apache2/sites-enabled# uname -a
Linux technoluddites.org 4.19.0-9-amd64 #1 SMP Debian 4.19.118-2+deb10u1 (2020-06-07) x86_64 GNU/Linux
root@technoluddites:/etc/apache2/sites-enabled# apachectl -v
Server version: Apache/2.4.38 (Debian)
Server built: 2019-10-15T19:53:42
내 사이트를 URL 단축기로 구성하려고 합니다. 예외를 제외하고, 나는 얻으려고 노력했다.http://cjsh.name/foo리디렉션https://cjsh.name/?foo, foo에 대한 항목이 있는지 확인하기 위한 index.cgi가 있고, 없으면 다음으로 리디렉션합니다.https://cjshayward.com/foo. 열려 있지 않은 파일에 대한 진단을 기록하기 위해 /index.cgi를 수정하려고 했습니다.
#!/usr/bin/python
import cgi
import commands
import cPickle
import os
import re
import sys
ADMIN_URL = u'/wp-content/protected/refer_url.cgi'
CHARACTERS = \
u'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890' + \
u'=+/,!$*'
DEFAULT_LOCATION = u'https://CJSHayward.com/'
DEBUG_LOG = u'/tmp/cjsh.name.error'
debug = open(DEBUG_LOG, 'w')
/tmp/cjsh.name.error는 결코 생성되지 않으며 CGI 스크립트의 ls -ltu는 몇 분 후에 파일을 로드하려고 시도한 시간이 아니라 명령줄에서 마지막으로 파일에 액세스한 시간을 나열합니다.http://cjsh.name/pstv, 사전에 정의된 키를 클릭하고 로드해야 합니다.https://cjshayward.com/긍정적/.
HTTP 사이트의 Apache 구성 파일은 다음과 같이 실행됩니다.
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /home/christos/books
ServerName cjsh.name
ServerAlias cjsh.cjshayward.com www.cjsh.name books.cjsh.name
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined
CustomLog /home/christos/logs/cjsh.name combined
ErrorLog /home/christos/logs/cjsh.name.error
RewriteEngine onhttps://www.zazzle.com/a_definion_of_the_autism_spectrum_t_shirt-235926361009257586 [R=301,L]
RewriteRule ^/99.?[Pp][Aa][Gg][Ee].*$ https://smile.amazon.com/C-J-S-Hayward-Under-99-Pages/dp/B09H8SLCZP?_encoding=UTF8&qid=1632850210&sr=8-1&linkCode=ll1&tag=jonascorn-20&linkId=fffe9ae168e721fbc006f4096100e772&language=en_US&ref_=as_li_ss_tl [R=301,L]
RewriteRule ^/phone\/?\.?% https://www.amazon.com/How-Take-Life-Back-Phone/dp/B0BHS7LQJV/ref=sr_1_1?crid=C9EYO4DANH6I&keywords=cjs+hayward+how+can+i+take+my+life+back+from+my+phone&qid=1670093200&sprefix=cjs+hayward+how+can+i+take+my+life+back+from+my+phonCapsC115&sr=8-1%23editorialReviews_feature_div [R=301,L]
RewriteRule ^/([^\?].*)$ /?$1 [R=301,L]
RewriteRule ^/$ https://cjshayward.com [R=301,L]
<Directory /home/jonathan/stornge/>
Options ExecCGI Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
</VirtualHost>
HTTPS 사이트의 입구는 다음과 같습니다.
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin [email protected]
DocumentRoot /home/christos/cjsh.name
ServerName cjsh.name
ServerAlias cjsh.cjshayward.com www.cjsh.name books.cjsh.name
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined
CustomLog /home/christos/logs/cjsh.name combined
ErrorLog /home/christos/logs/cjsh.name.error
RewriteEngine on
RewriteRule ^/best.(.*)$ https://cjshayward.com/wp-content/cgi/download-ebook.cgi?book=The+Best+of+Jonathan%27s+Corner.$2 [R=301,L]
RewriteRule ^/99.?[Pp][Aa][Gg][Ee].*$ https://smile.amazon.com/C-J-S-Hayward-Under-99-Pages/dp/B09H8SLCZP?_encoding=UTF8&qid=1632850210&sr=8-1&linkCode=ll1&tag=jonascorn-20&linkId=fffe9ae168e721fbc006f4096100e772&language=en_US&ref_=as_li_ss_tl [R=301,L]
RewriteRule ^/phone\/?\.?% https://www.amazon.com/How-Take-Life-Back-Phone/dp/B0BHS7LQJV/ref=sr_1_1?crid=C9EYO4DANH6I&keywords=cjs+hayward+how+can+i+take+my+life+back+from+my+phone&qid=1670093200&sprefix=cjs+hayward+how+can+i+take+my+life+back+from+my+phonCapsC115&sr=8-1%23editorialReviews_feature_div [R=301,L]
RewriteRule ^/([^\?].*)$ /?$1 [R=301,L]
RewriteRule ^/$ https://cjshayward.com [R=301,L]
<Directory /home/jonathan/stornge/>
Options ExecCGI Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
SSLCertificateFile /etc/letsencrypt/live/cjsh.name-0002/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/cjsh.name-0002/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
</IfModule>
내 기본 apache2.conf 파일에는 다음이 있습니다.
DirectoryIndex index.cgi index.php index.shtml index.html
Mac(12.6.9)에서 Firefox(119.0.1)를 통해 사이트에 액세스하려고 하며 내 사이트의 모든 탭을 닫고 다시 시작하기 위해 모든 검색 기록을 영구적으로 삭제했습니다. 접속해 보세요http://cjsh.name/pstv다음으로 리디렉션 중https://cjshayward.com/?pstv(이 페이지는 404 페이지여야 합니다.) 사이트 지원 파일을 건드린 후 Apache를 다시 시작했습니다. 나도 당겨보려고 했는데http://cjsh.name/pstvSafari에서 처음으로 액세스하면 Safari는 Firefox와 동일하게 작동하여 다음으로 리디렉션됩니다.https://cjshayward.com/?pstv.
새 전화를 다음으로 착신전환하려면 어떻게 해야 합니까?http://cjsh.name/pstv도착하다https://cjshayward.com/?pstv(그리고https://cjsh.name/?pstv도착하다https://cjshayward.com/?pstv)?
index.cgi를 호출하고 "초기 물음표의 오른쪽" 데이터를 찾아 다음으로 리디렉션되도록(이 경우) Apache 파일 중 하나 또는 둘 다 또는 기타 설정을 변경하려면 어떻게 해야 합니까?https://cjshayward.com/긍정적/?
- 갱신 -
이전 항목에서 cjsh.name ServerAliased를 사용하여 제 발에 총을 맞았는데, 이로 인해 처음에 보고한 동작이 발생했습니다. 그러나 동작의 새로운 차이점은 로드를 시도하는 것입니다.http://cjsh.name/pstv짐https://cjshayward.com/?pstv바꾸다https://cjshayward.com/긍정적/. 404 대신 홈페이지를 로드하는 경우 발생합니다.https://cjshayward.com/pstv, 하지만 여전히 오류가 발생하여 내 홈페이지에서 페이지가 로드되지 않습니다.https://cjshayward.com/긍정적/.
감사해요,
답변1
/tmp/cjsh.name.error
생성된 적이 없음
이는 Apache와 관련이 없지만 시작 방법과 관련이 있습니다. Apache 구성을 systemd
살펴보십시오 .systemd
cat "$(find /etc/systemd/ -type f -iname '*apache*')"
매핑하라는 내용이 systemd
표시 됩니다./tmp
개인 임시 디렉토리공개를 사용하는 대신 /tmp
:
PrivateTmp=true
systemctl edit apache2
다음 두 줄을 실행하고 추가하여 이를 재정의 할 수 있습니다 .
[Service]
PrivateTmp=false
아니면 디버깅을 위해 꼭 봐야 할 경우에는 찾아보면 됩니다.
find /tmp -type f -name cjsh.name.error
그러나 의도적으로 액세스하는 데이터 파일의 경우 임시가 아닌 파일에 쓰기와 같은 다른 옵션을 신중하게 고려해야 합니다 /tmp
.